
interface EnumItem {
  value: string | number | boolean;
  label: string | number;
}

/**
 * 根据key获取枚举数组的内容
 * @param enums 原数组
 * @param key 需要比较的key
 * @param feild 数组中对象的字段 非必传，默认为['key', 'label']
 */
function getEnumLabel(enums: EnumItem[], key: string | number, feild = ['value', 'label']) {
  if (Array.isArray(enums) && enums.length) {
    const obj = enums.find((en) => en[feild[0]] === key) || [];
    return obj[feild[1]];
  }
  return undefined;
}

export { getEnumLabel };
